Release 10.1A: OpenEdge Development:
Progress 4GL Handbook
Static object handles
Static objects have handles just as dynamic objects do. As soon as a statically defined object is realized, it is given a handle just like a dynamic object. You can access this handle value using the
HANDLEattribute of the static object. In this way, you can access an object’s attributes and methods using its handle just as you can for dynamic objects, as an alternative to using the object name. For example, the following code defines a handle variable and a static button. It then tries to display the button’s handle in the procedure’s default frame:
However, this code doesn’t compile, as shown in Figure 18–2, because it tries to reference the button handle without the button being realized.
Figure 18–2: Button handle error message
![]()
The button itself hasn’t been realized in a frame and therefore has no handle. You can’t display its handle, or for that matter any of its other attributes, using the
widget:attributesyntax because Progress has no way of identifying what the attributes of the object are until it can attach a handle to it. If you add the button itself to theDISPLAYstatement, then you can reference its handle and other attributes:
Figure 18–3 shows the result.
Figure 18–3: Static button example result
![]()
Now that the static object has been realized, you can assign its handle to a variable and access its attributes through it. Here the code changes the button label and enables the button by setting its
SENSITIVEattribute toYES:
Figure 18–4 shows the result.
Figure 18–4: Enabled button example result
![]()
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |